/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.barbon.sudoku.model.servico;

import br.barbon.sudoku.model.entidade.Posicao;

/**
 *
 * @author Barbon
 */
public abstract class ColunaService {
    //T
    public static boolean haveraConflitoNaColuna(Posicao p){
        
        for (Posicao p1 : p.getColuna().getPosicao()){
            if (!p1.equals(p)){
                if (p1.getValor() == p.getValor()){
                    return true;
                }
            }
        }
        
        return false;
    }
    
    public static void setConflitos(Posicao p){
        
        for (Posicao p1 : p.getColuna().getPosicao()){
            if (!p1.equals(p)){
                
                if (p1.getValor() == p.getValor()){
                    
                    if (!p1.getPosConflitante().contains(p)) {
                        p1.getPosConflitante().add(p);
                    }
                    
                    if (!p.getPosConflitante().contains(p1)) {
                        p.getPosConflitante().add(p1);
                    }
                }
            }
        }   
    }
    
    public static void limparConflitos(Posicao p){
        
        for (Posicao p1 : p.getColuna().getPosicao()){
            
            if (!p1.equals(p)){
                
                p1.getPosConflitante().remove(p);
                p.getPosConflitante().remove(p1);
                
            }
        }   
    }
}
